// ****************************************************************************** 
// Copyright     :  Copyright (C) 2018, Hisilicon Technologies Co. Ltd.
// File name     :  gicr_lowid_regs_c_union_define.h
// Project line  :  Platform And Key Technologies Development
// Department    :  CAD Development Department
// Author        :  xxx
// Version       :  1
// Date          :  2013/3/10
// Description   :  The description of xxx project
// Others        :  Generated automatically by nManager V4.2 
// History       :  xxx 2018/05/11 14:50:31 Create file
// ******************************************************************************

#ifndef __GICR_LOWID_REGS_C_UNION_DEFINE_H__
#define __GICR_LOWID_REGS_C_UNION_DEFINE_H__

/* Define the union U_GICR_IGROUPR0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_ppigroup : 12  ; /* [31:20] */
        unsigned int    rsv_0         : 4  ; /* [19:16] */
        unsigned int    gicr_sgigroup : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IGROUPR0;

/* Define the union U_GICR_ISENABLER0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_setpppienable : 12  ; /* [31:20] */
        unsigned int    rsv_1              : 4  ; /* [19:16] */
        unsigned int    gicr_setsgienable  : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ISENABLER0;

/* Define the union U_GICR_ICENABLER0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_clearppienable : 12  ; /* [31:20] */
        unsigned int    rsv_2               : 4  ; /* [19:16] */
        unsigned int    gicr_clearsgienable : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ICENABLER0;

/* Define the union U_GICR_ISPENDR0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_setppipending : 12  ; /* [31:20] */
        unsigned int    rsv_3              : 4  ; /* [19:16] */
        unsigned int    gicr_setsgipending : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ISPENDR0;

/* Define the union U_GICR_ICPENDR0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_clearppipending : 12  ; /* [31:20] */
        unsigned int    rsv_4                : 4  ; /* [19:16] */
        unsigned int    gicr_clearsgipending : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ICPENDR0;

/* Define the union U_GICR_ISACTIVER0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_setppiactive : 12  ; /* [31:20] */
        unsigned int    rsv_5             : 4  ; /* [19:16] */
        unsigned int    gicr_setsgiactive : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ISACTIVER0;

/* Define the union U_GICR_ICACTIVER0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_clearppiactive : 12  ; /* [31:20] */
        unsigned int    rsv_6               : 4  ; /* [19:16] */
        unsigned int    gicr_clearsgiactive : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ICACTIVER0;

/* Define the union U_GICR_IPRIORITY_LOWSGI_NS */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_priority_int3 : 4  ; /* [31:28] */
        unsigned int    rsv_7              : 4  ; /* [27:24] */
        unsigned int    gicr_priority_int2 : 4  ; /* [23:20] */
        unsigned int    rsv_8              : 4  ; /* [19:16] */
        unsigned int    gicr_priority_int1 : 4  ; /* [15:12] */
        unsigned int    rsv_9              : 4  ; /* [11:8] */
        unsigned int    gicr_priority_int0 : 4  ; /* [7:4] */
        unsigned int    rsv_10             : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IPRIORITY_LOWSGI_NS;

/* Define the union U_GICR_IPRIORITY_LOWSGI_S */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_priority_int3 : 5  ; /* [31:27] */
        unsigned int    rsv_11             : 3  ; /* [26:24] */
        unsigned int    gicr_priority_int2 : 5  ; /* [23:19] */
        unsigned int    rsv_12             : 3  ; /* [18:16] */
        unsigned int    gicr_priority_int1 : 5  ; /* [15:11] */
        unsigned int    rsv_13             : 3  ; /* [10:8] */
        unsigned int    gicr_priority_int0 : 5  ; /* [7:3] */
        unsigned int    rsv_14             : 3  ; /* [2:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IPRIORITY_LOWSGI_S;

/* Define the union U_GICR_IPRIORITY_LOWPPI2023_NS */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_priority_int3 : 4  ; /* [31:28] */
        unsigned int    rsv_15             : 4  ; /* [27:24] */
        unsigned int    gicr_priority_int2 : 4  ; /* [23:20] */
        unsigned int    rsv_16             : 4  ; /* [19:16] */
        unsigned int    gicr_priority_int1 : 4  ; /* [15:12] */
        unsigned int    rsv_17             : 4  ; /* [11:8] */
        unsigned int    gicr_priority_int0 : 4  ; /* [7:4] */
        unsigned int    rsv_18             : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IPRIORITY_LOWPPI2023_NS;

/* Define the union U_GICR_IPRIORITY_LOWPPI2023_S */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_priority_int3 : 5  ; /* [31:27] */
        unsigned int    rsv_19             : 3  ; /* [26:24] */
        unsigned int    gicr_priority_int2 : 4  ; /* [23:20] */
        unsigned int    rsv_20             : 4  ; /* [19:16] */
        unsigned int    gicr_priority_int1 : 5  ; /* [15:11] */
        unsigned int    rsv_21             : 3  ; /* [10:8] */
        unsigned int    gicr_priority_int0 : 5  ; /* [7:3] */
        unsigned int    rsv_22             : 3  ; /* [2:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IPRIORITY_LOWPPI2023_S;

/* Define the union U_GICR_IPRIORITY_LOWPPI23TO31_NS */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_priority_int3 : 4  ; /* [31:28] */
        unsigned int    rsv_23             : 4  ; /* [27:24] */
        unsigned int    gicr_priority_int2 : 4  ; /* [23:20] */
        unsigned int    rsv_24             : 4  ; /* [19:16] */
        unsigned int    gicr_priority_int1 : 4  ; /* [15:12] */
        unsigned int    rsv_25             : 4  ; /* [11:8] */
        unsigned int    gicr_priority_int0 : 4  ; /* [7:4] */
        unsigned int    rsv_26             : 4  ; /* [3:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IPRIORITY_LOWPPI23TO31_NS;

/* Define the union U_GICR_IPRIORITY_LOWPPI23TO31_S */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_priority_int3 : 5  ; /* [31:27] */
        unsigned int    rsv_27             : 3  ; /* [26:24] */
        unsigned int    gicr_priority_int2 : 5  ; /* [23:19] */
        unsigned int    rsv_28             : 3  ; /* [18:16] */
        unsigned int    gicr_priority_int1 : 5  ; /* [15:11] */
        unsigned int    rsv_29             : 3  ; /* [10:8] */
        unsigned int    gicr_priority_int0 : 5  ; /* [7:3] */
        unsigned int    rsv_30             : 3  ; /* [2:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IPRIORITY_LOWPPI23TO31_S;

/* Define the union U_GICR_ICFGR_LOW_SGI */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_sgiconfig : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ICFGR_LOW_SGI;

/* Define the union U_GICR_ICFGR_LOW_PPI */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_ppiconfig_15 : 1  ; /* [31] */
        unsigned int    rsv_31            : 1  ; /* [30] */
        unsigned int    gicr_ppiconfig_14 : 1  ; /* [29] */
        unsigned int    rsv_32            : 1  ; /* [28] */
        unsigned int    gicr_ppiconfig_13 : 1  ; /* [27] */
        unsigned int    rsv_33            : 1  ; /* [26] */
        unsigned int    gicr_ppiconfig_12 : 1  ; /* [25] */
        unsigned int    rsv_34            : 1  ; /* [24] */
        unsigned int    gicr_ppiconfig_11 : 1  ; /* [23] */
        unsigned int    rsv_35            : 1  ; /* [22] */
        unsigned int    gicr_ppiconfig_10 : 1  ; /* [21] */
        unsigned int    rsv_36            : 1  ; /* [20] */
        unsigned int    gicr_ppiconfig_9  : 1  ; /* [19] */
        unsigned int    rsv_37            : 1  ; /* [18] */
        unsigned int    gicr_ppiconfig_8  : 1  ; /* [17] */
        unsigned int    rsv_38            : 1  ; /* [16] */
        unsigned int    gicr_ppiconfig_7  : 1  ; /* [15] */
        unsigned int    rsv_39            : 1  ; /* [14] */
        unsigned int    gicr_ppiconfig_6  : 1  ; /* [13] */
        unsigned int    rsv_40            : 1  ; /* [12] */
        unsigned int    gicr_ppiconfig_5  : 1  ; /* [11] */
        unsigned int    rsv_41            : 1  ; /* [10] */
        unsigned int    gicr_ppiconfig_4  : 1  ; /* [9] */
        unsigned int    rsv_42            : 9  ; /* [8:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_ICFGR_LOW_PPI;

/* Define the union U_GICR_NSACR */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_sginsac : 32  ; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_NSACR;

/* Define the union U_GICR_IGRPMODR0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gicr_ppimode : 12  ; /* [31:20] */
        unsigned int    rsv_43       : 4  ; /* [19:16] */
        unsigned int    gicr_sgimode : 16  ; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GICR_IGRPMODR0;


//==============================================================================
/* Define the global struct */
typedef struct
{
    volatile U_GICR_IGROUPR0                  GICR_IGROUPR0                     ; /* 80 */
    volatile U_GICR_ISENABLER0                GICR_ISENABLER0                   ; /* 100 */
    volatile U_GICR_ICENABLER0                GICR_ICENABLER0                   ; /* 180 */
    volatile U_GICR_ISPENDR0                  GICR_ISPENDR0                     ; /* 200 */
    volatile U_GICR_ICPENDR0                  GICR_ICPENDR0                     ; /* 280 */
    volatile U_GICR_ISACTIVER0                GICR_ISACTIVER0                   ; /* 300 */
    volatile U_GICR_ICACTIVER0                GICR_ICACTIVER0                   ; /* 380 */
    volatile U_GICR_IPRIORITY_LOWSGI_NS       GICR_IPRIORITY_LOWSGI_NS[4]       ; /* 400 */
    volatile U_GICR_IPRIORITY_LOWSGI_S        GICR_IPRIORITY_LOWSGI_S[4]        ; /* 400 */
    volatile U_GICR_IPRIORITY_LOWPPI2023_NS   GICR_IPRIORITY_LOWPPI2023_NS      ; /* 414 */
    volatile U_GICR_IPRIORITY_LOWPPI2023_S    GICR_IPRIORITY_LOWPPI2023_S       ; /* 414 */
    volatile U_GICR_IPRIORITY_LOWPPI23TO31_NS GICR_IPRIORITY_LOWPPI23TO31_NS[2] ; /* 418 */
    volatile U_GICR_IPRIORITY_LOWPPI23TO31_S  GICR_IPRIORITY_LOWPPI23TO31_S[2]  ; /* 418 */
    volatile U_GICR_ICFGR_LOW_SGI             GICR_ICFGR_LOW_SGI                ; /* C00 */
    volatile U_GICR_ICFGR_LOW_PPI             GICR_ICFGR_LOW_PPI                ; /* C04 */
    volatile U_GICR_NSACR                     GICR_NSACR                        ; /* E00 */
    volatile U_GICR_IGRPMODR0                 GICR_IGRPMODR0                    ; /* D00 */

} S_gicr_lowid_regs_REGS_TYPE;

/* Declare the struct pointor of the module gicr_lowid_regs */
extern volatile S_gicr_lowid_regs_REGS_TYPE *gopgicr_lowid_regsAllReg;

/* Declare the functions that set the member value */
int iSetGICR_IGROUPR0_gicr_ppigroup(unsigned int ugicr_ppigroup);
int iSetGICR_IGROUPR0_gicr_sgigroup(unsigned int ugicr_sgigroup);
int iSetGICR_ISENABLER0_gicr_setpppienable(unsigned int ugicr_setpppienable);
int iSetGICR_ISENABLER0_gicr_setsgienable(unsigned int ugicr_setsgienable);
int iSetGICR_ICENABLER0_gicr_clearppienable(unsigned int ugicr_clearppienable);
int iSetGICR_ICENABLER0_gicr_clearsgienable(unsigned int ugicr_clearsgienable);
int iSetGICR_ISPENDR0_gicr_setppipending(unsigned int ugicr_setppipending);
int iSetGICR_ISPENDR0_gicr_setsgipending(unsigned int ugicr_setsgipending);
int iSetGICR_ICPENDR0_gicr_clearppipending(unsigned int ugicr_clearppipending);
int iSetGICR_ICPENDR0_gicr_clearsgipending(unsigned int ugicr_clearsgipending);
int iSetGICR_ISACTIVER0_gicr_setppiactive(unsigned int ugicr_setppiactive);
int iSetGICR_ISACTIVER0_gicr_setsgiactive(unsigned int ugicr_setsgiactive);
int iSetGICR_ICACTIVER0_gicr_clearppiactive(unsigned int ugicr_clearppiactive);
int iSetGICR_ICACTIVER0_gicr_clearsgiactive(unsigned int ugicr_clearsgiactive);
int iSetGICR_IPRIORITY_LOWSGI_NS_gicr_priority_int3(unsigned int ugicr_priority_int3);
int iSetGICR_IPRIORITY_LOWSGI_NS_gicr_priority_int2(unsigned int ugicr_priority_int2);
int iSetGICR_IPRIORITY_LOWSGI_NS_gicr_priority_int1(unsigned int ugicr_priority_int1);
int iSetGICR_IPRIORITY_LOWSGI_NS_gicr_priority_int0(unsigned int ugicr_priority_int0);
int iSetGICR_IPRIORITY_LOWSGI_S_gicr_priority_int3(unsigned int ugicr_priority_int3);
int iSetGICR_IPRIORITY_LOWSGI_S_gicr_priority_int2(unsigned int ugicr_priority_int2);
int iSetGICR_IPRIORITY_LOWSGI_S_gicr_priority_int1(unsigned int ugicr_priority_int1);
int iSetGICR_IPRIORITY_LOWSGI_S_gicr_priority_int0(unsigned int ugicr_priority_int0);
int iSetGICR_IPRIORITY_LOWPPI2023_NS_gicr_priority_int3(unsigned int ugicr_priority_int3);
int iSetGICR_IPRIORITY_LOWPPI2023_NS_gicr_priority_int2(unsigned int ugicr_priority_int2);
int iSetGICR_IPRIORITY_LOWPPI2023_NS_gicr_priority_int1(unsigned int ugicr_priority_int1);
int iSetGICR_IPRIORITY_LOWPPI2023_NS_gicr_priority_int0(unsigned int ugicr_priority_int0);
int iSetGICR_IPRIORITY_LOWPPI2023_S_gicr_priority_int3(unsigned int ugicr_priority_int3);
int iSetGICR_IPRIORITY_LOWPPI2023_S_gicr_priority_int2(unsigned int ugicr_priority_int2);
int iSetGICR_IPRIORITY_LOWPPI2023_S_gicr_priority_int1(unsigned int ugicr_priority_int1);
int iSetGICR_IPRIORITY_LOWPPI2023_S_gicr_priority_int0(unsigned int ugicr_priority_int0);
int iSetGICR_IPRIORITY_LOWPPI23TO31_NS_gicr_priority_int3(unsigned int ugicr_priority_int3);
int iSetGICR_IPRIORITY_LOWPPI23TO31_NS_gicr_priority_int2(unsigned int ugicr_priority_int2);
int iSetGICR_IPRIORITY_LOWPPI23TO31_NS_gicr_priority_int1(unsigned int ugicr_priority_int1);
int iSetGICR_IPRIORITY_LOWPPI23TO31_NS_gicr_priority_int0(unsigned int ugicr_priority_int0);
int iSetGICR_IPRIORITY_LOWPPI23TO31_S_gicr_priority_int3(unsigned int ugicr_priority_int3);
int iSetGICR_IPRIORITY_LOWPPI23TO31_S_gicr_priority_int2(unsigned int ugicr_priority_int2);
int iSetGICR_IPRIORITY_LOWPPI23TO31_S_gicr_priority_int1(unsigned int ugicr_priority_int1);
int iSetGICR_IPRIORITY_LOWPPI23TO31_S_gicr_priority_int0(unsigned int ugicr_priority_int0);
int iSetGICR_ICFGR_LOW_SGI_gicr_sgiconfig(unsigned int ugicr_sgiconfig);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_15(unsigned int ugicr_ppiconfig_15);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_14(unsigned int ugicr_ppiconfig_14);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_13(unsigned int ugicr_ppiconfig_13);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_12(unsigned int ugicr_ppiconfig_12);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_11(unsigned int ugicr_ppiconfig_11);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_10(unsigned int ugicr_ppiconfig_10);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_9(unsigned int ugicr_ppiconfig_9);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_8(unsigned int ugicr_ppiconfig_8);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_7(unsigned int ugicr_ppiconfig_7);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_6(unsigned int ugicr_ppiconfig_6);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_5(unsigned int ugicr_ppiconfig_5);
int iSetGICR_ICFGR_LOW_PPI_gicr_ppiconfig_4(unsigned int ugicr_ppiconfig_4);
int iSetGICR_NSACR_gicr_sginsac(unsigned int ugicr_sginsac);
int iSetGICR_IGRPMODR0_gicr_ppimode(unsigned int ugicr_ppimode);
int iSetGICR_IGRPMODR0_gicr_sgimode(unsigned int ugicr_sgimode);

#endif // __GICR_LOWID_REGS_C_UNION_DEFINE_H__
